package com.zwy.linear;

/*
  线性表
 */
public interface LinearList {
    //返回线性表的大小，即元素的个数
    public int getSize();
    //如果线性表为空返回true，否则返回false
    public boolean isEmpty();
    //判断线性表是否包含元素e
    public boolean contains(Object e);
    //返回数据元素e在线性表中的序号
    public int indexOf(Object e);
    //将数据元素e插入到线性表中i号的位置
    public void insert(int i,Object e) throws IndexOutOfBoundsException;
    //将数据元素e插入到元素obj之前
    public boolean insertBefore(Object obj,Object e);
    //将数据元素e插入到元素obj之后
    public boolean insertAfter(Object obj,Object e);
    //删除线性表中序号为i的元素并返回之
    public Object remove(int i) throws IndexOutOfBoundsException;
    //删除线性表中第一个与e相同的元素
    public boolean remove(Object e);
    //替换线性表中序号为i的数据元素为e，并返回原数据
    public Object replace(int i,Object obj) throws IndexOutOfBoundsException;
    //返回线性表中序号为i的数据元素
    public Object get(int i) throws IndexOutOfBoundsException;





}
